직선으로 구분할 수 없는 데이터를 분류하는 데 어려움을 겪는 선형 모델의 한계를 넘어설 때입니다. 오늘 우리는 파이토치 워크플로우를 활용해 딥 신경망(DNN)을 학습할 수 있는 복잡한 비선형 결정 경계실제 분류 작업에 필수적인 모델을 구축합니다.
1. 비선형 데이터의 필요성 시각화
우리의 첫 번째 단계는 두 달개비 분포와 같은 도전적인 합성 데이터셋을 만들어, 간단한 선형 모델이 왜 실패하는지 시각적으로 보여주는 것입니다. 이 설정은 클래스를 분리하는 복잡한 곡선을 근사하기 위해 깊은 아키텍처를 사용해야 함을 강요합니다.
데이터 속성
- 데이터 구조:합성 데이터 특징(예: 2개의 특징을 가진 1000개 샘플에 대해 $1000 \times 2$).
- 출력 유형:일반적으로
torch.float32으로 표현되는 클래스 소속 확률 값입니다. - 목표:다층 계산을 통해 곡선 형태의 결정 경계를 생성하는 것입니다.
비선형 활성화 함수의 힘
딥 신경망의 핵심 원리는 ReLU과 같은 함수를 통해 은닉층에 비선형성을 도입하는 것입니다. 이러한 요소가 없다면, 깊이가 얼마나 깊든 결국 하나의 큰 선형 모델만 생성됩니다.
터미널bash — 분류 환경
> 준비됨. 실행하려면 "실행"을 클릭하세요.
>
텐서 인스펙터실시간
코드를 실행하여 활성 텐서를 확인하세요.
질문 1
은닉층에서 ReLU 활성화 함수의 주된 목적은 무엇인가요?
질문 2
이진 분류 작업에서 출력층에 필요한 활성화 함수는 무엇인가요?출력레이어인가요?
질문 3
시그모이드 출력을 사용하는 이진 분류 문제에 직접적으로 해당하는 손실 함수는 무엇인가요?
도전 과제: 핵심 아키텍처 설계하기
비선형 학습을 위한 아키텍처 구성 요소 통합
당신은 두 달개비 문제용
nn.Module을 구현해야 합니다. 입력 특징: 2개. 출력 클래스: 1개(확률).
단계 1
이 딥 신경망의 단일 은닉층에서 계산 흐름을 설명하세요.
해답:
입력 → 선형 레이어(가중치 행렬) → ReLU 활성화 → 다음 레이어 출력.
입력 → 선형 레이어(가중치 행렬) → ReLU 활성화 → 다음 레이어 출력.
단계 2
입력 형상이 $(N, 2)$이고 BCE 손실을 사용할 경우, 최종 레이어 크기는 얼마여야 하나요?
해답:
각 샘플당 하나의 확률 점수를 생성하고 레이블 형상과 일치시키기 위해 출력 레이어 크기는 $(N, 1)$이어야 합니다.
각 샘플당 하나의 확률 점수를 생성하고 레이블 형상과 일치시키기 위해 출력 레이어 크기는 $(N, 1)$이어야 합니다.